package com.shxy.controller.ui;

import com.fasterxml.jackson.annotation.JsonCreator;
import com.shxy.annotation.ExcelColumn;
import com.shxy.entity.common.enums.DistrictEnum;
import com.shxy.entity.common.enums.EmployeeType;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.persistence.Convert;
import javax.persistence.Transient;

/**
 * 工资数据
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class SalaryBean {
    // 员工信息
    private String employeeId;
    private String name;
    private String department;
    // 人员类型
    private EmployeeType type;
    // 时间
    private String salaryDate;
    // 基础工资
    @ExcelColumn(value = "岗位工资", col = 1)
    private double postSalary;                          // 岗位工资
    @ExcelColumn(value = "薪级工资", col = 2)
    private double scaleSalary;                         // 薪级工资
    @ExcelColumn(value = "绩效工资", col = 3)
    private double meritPay;                            // 绩效工资
    @ExcelColumn(value = "住房借款", col = 4)
    private double housingLoan;                         // 住房借款
    @ExcelColumn(value = "加班费", col = 5)
    private double overtimePay;                         // 加班费
    @ExcelColumn(value = "交通费", col = 6)
    private double trafficAid;                          // 交通费
    @ExcelColumn(value = "绩效奖", col = 7)
    private double performanceAward;                    // 绩效奖
    @ExcelColumn(value = "独卫费", col = 8)
    private double sanitationFee;                       // 独卫费
    @ExcelColumn(value = "补减差", col = 9)
    private double balance;                             // 补减差
    @ExcelColumn(value = "清扫费", col = 10)
    private double cleaningFee;                         // 清扫费
    @ExcelColumn(value = "其他代扣1", col = 11)
    private double other1;                              // 其他代扣1
    @ExcelColumn(value = "其他代扣2", col = 12)
    private double other2;                              // 其他代扣2
    @ExcelColumn(value = "其他代扣3", col = 13)
    private double other3;                              // 其他代扣3
    @ExcelColumn(value = "其他代扣4", col = 14)
    private double other4;                              // 其他代扣4
    @ExcelColumn(value = "养老金", col = 15)
    private double pension;                             // 养老金
    @ExcelColumn(value = "医保金", col = 16)
    private double mdicalInsuranceFund;                 // 医保金
    @ExcelColumn(value = "住房公积金", col = 17)
    private double housingFound;                        // 住房公积金
    @ExcelColumn(value = "失业保险", col = 18)
    private double unemploymentInsurance;               // 失业保险
    @ExcelColumn(value = "职业年金", col = 19)
    private double occupationalPension;                 // 职业年金
    @ExcelColumn(value = "个税", col = 20)
    private double incomeTax;                           // 个税
    @ExcelColumn(value = "工会会费", col = 21)
    private double UnionDues;                           // 工会会费

    @Transient
    private double TotalPayable;                        // 应发合计
    @Transient
    private double TotalDeduction;                      // 扣款合计
    @Transient
    private double TotalPaidIn;                         // 实发合计

    @ExcelColumn(value = "代付税", col = 22)
    private double payTaxe;                             // 代付税
    @ExcelColumn(value = "年终奖", col = 23)
    private double annualBonus;                         // 年终奖
    @ExcelColumn(value = "年终奖代扣税", col = 24)
    private double bonusTax;                            // 年终奖代扣税
    @ExcelColumn(value = "工资代扣税", col = 25)
    private double salaryTax;                           // 工资代扣税
    @ExcelColumn(value = "扣税合计", col = 26)
    private double totalTax;                            // 扣税合计
    @ExcelColumn(value = "说明", col = 27)
    private String note;                                // 说明
}
